Adding and removing white space from a document

ABSTRACT

A method, a computer system and a computer-readable medium having instructions for a processor stored thereon are provided for growing a page on a display. Input indicating a first position or designation of content on a page of an electronic document and an amount of white space to be inserted in the page is received. Responsive to the received input, at least some of the content of the page of the electronic document is moved to insert white space. The moving starts from a point based on the first position. The portion of the content being moved is moved a distance based on the amount of white space indicated in the received input. The page is grown by an amount based on the amount of the white space indicated in the received input. A respective size of other pages of the electronic document remains unchanged. Also provided are a method, a computer system and a computer-readable medium having instructions for a processor stored thereon for deleting a portion of a page and reducing a size of the page.

BACKGROUND OF INVENTION

[0001] 1. Technical Field

[0002] The present invention relates to maintaining a page layout whenadding new blank space to an electronic page that already containscontent. More specifically, the present invention relates to growing thesize of an electronic page when adding an item to the page, so that allof the items originally appearing in the page remain in that page,rather than being pushed onto a new page, deleted or clipped.

[0003] 2. Related Art

[0004] As hand-held computers are becoming more prevalent, more and morepeople are note-taking, sketching or diagramming content onto“electronic” paper rather than physical paper. As used herein, the termelectronic paper refers to electronic data that can be subsequentlyrendered on a display so as to resemble a paper document. Like physicalpaper, electronic paper is conventionally divided into discrete portionsor “pages” that allow a user to quickly access specific portions of theelectronic paper without having to scroll through the entire document.These pages typically are formatted with same sizes as actual paper (forexample, 8½×11 inches). Unlike physical paper, however, electronic paperadvantageously allows a user to easily insert additional contentanywhere on a page, even if that location already contains content. Theexisting content is simply “pushed down” the page to allow room forinsertion of the new content.

[0005] A variety of software applications employ electronic paper, suchas Microsoft Word and Microsoft Windows Journal One application ofelectronic paper that is particularly useful for users of hand-heldcomputers is electronic ink. Electronic ink allows a user to create databy writing on a digitizer with a stylus. The digitizer records theuser's writing as a sequence of strokes, where each stroke is comprisedof a sequence of points. The points may be represented using a varietyof known techniques including Cartesian coordinates (X, Y), polarcoordinates (r, Θ), and other techniques as known in the art. Thestrokes may be associated with a set of properties such as, for example,color, width, pressure between the stylus and digitizer, and anglebetween the stylus and digitizer, and pen shape and the like.

[0006] As previously noted, a significant advantage to electronic ink,and to electronic paper generally, is the ease with which a user canplace and move content around the electronic paper. Various applicationsof electronic ink, for example, allow a user to open up new white spaceon the electronic paper simply by “pushing” all of other content downthe page. Thus, unlike actual paper, a user can go to a relevant portionof a page that already contains content, insert white space, and thenwrite additional content in the added white space. The value of thisfeature is limited, however, by the size of the page being used by theelectronic paper application. If the user inserts enough space into apage, eventually some of the content on that page will be pushed off thebottom of the page and onto the top of the next page, clipped, ordeleted.

[0007] Pushing content off of a page onto the subsequent page may createan undesired cascading effect on all following pages. For example,diagrams may become split across pages, labels may become separated fromtheir associated pictures, content may be caused to be regrouped inunexpected ways, and notes may become separated from associated content.This inadvertent cascading may frustrate the ease and convenienceoffered by the flexibility of electronic paper. Even if a user expectedcontent to be split across pages, it is rarely the case where the systemwould correctly split the content as there are fewer ways for the systemto know where to split the context across pages. Free form input cannotbe split as easily as text across multiple pages.

[0008] Similarly, electronic paper allows a user to easily removecontent or space from an existing document. Conventionally, however,deleting content from one page may “pull” content from a subsequent pageonto the page from which the content or space has been removed. This“pulling” may likewise create an undesired effect on the followingpages.

SUMMARY

[0009] In some aspects, the present invention addresses thisdisadvantage of conventional electronic paper by allowing a user to growthe size of a page of electronic paper when the user adds white space tothe page, such that all of the content originally on the page remains onthat page. Some aspects of the invention also allow a user to shrink thesize of a page of electronic paper when deleting space or content fromthe page.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The present invention is described with respect to theaccompanying figures, in which like reference numerals identify likeelements, and in which:

[0011]FIG. 1 shows a computing environment in which one or more aspectsof the present invention may be implemented;

[0012]FIG. 2 shows a tablet computer configuration on which one or moreembodiments of the present invention may be implemented;

[0013] FIGS. 3A-3G depict white space being inserted into the content ofan electronic page;

[0014] FIGS. 4A-4D depict a portion of a page being removed from anelectronic document;

[0015]FIG. 5 is a flowchart for explaining processing that occurs, in anembodiment of the invention, when adding white space to a page of anelectronic document; and

[0016]FIG. 6 is a flowchart for explaining processing that occurs, in anembodiment of the invention, when deleting a portion of a page of anelectronic document.

[0017]FIG. 7 illustrates a functional block diagram of an embodiment ofthe invention

DETAILED DESCRIPTION OF THE DRAWINGS

[0018] General Purpose Computer

[0019]FIG. 1 illustrates a schematic diagram of an exemplaryconventional general-purpose digital computing environment that may beused to implement various aspects of the present invention. In FIG. 1, acomputer 100 includes a processing unit 110, a system memory 120, and asystem bus 130 that couples various system components including thesystem memory 120 to the processing unit 110. The system bus 130 may beany of several types of bus structures including a memory bus or memorycontroller, a peripheral bus, and a local bus using any of a variety ofbus architectures. The system memory 120 includes read only memory (ROM)140 and random access memory (RAM) 150.

[0020] A basic input/output system 160 (BIOS), containing the basicroutines that help to transfer information between elements within thecomputer 100, such as during start-up, is stored in the ROM 140. Thecomputer 100 also includes a hard disk drive 170 for reading from andwriting to a hard disk (not shown), a magnetic disk drive 180 forreading from or writing to a removable magnetic disk 190, and an opticaldisk drive 191 for reading from or writing to a removable optical disk192 such as a CD ROM or other optical media. The hard disk drive 170,magnetic disk drive 180, and optical disk drive 191 are connected to thesystem bus 130 by a hard disk drive interface 192, a magnetic disk driveinterface 193, and an optical disk drive interface 194, respectively.The drives and their associated computer-readable media providenonvolatile storage of computer readable instructions, data structures,program modules and other data for the personal computer 100. It will beappreciated by those skilled in the art that other types of computerreadable media that can store data that is accessible by the computer100, such as magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, random access memories (RAMs), read onlymemories (ROMs), and the like, may also be used in the example operatingenvironment.

[0021] A number of program modules can be stored on the hard disk drive170, magnetic disk 190, optical disk 192, ROM 140 or RAM 150, includingan operating system 195, one or more application programs 196, otherprogram modules 197, and program data 198. A user can enter commands andinformation into the computer 100 through input devices such as akeyboard 101 and pointing device 102. Other input devices (not shown)may include a microphone, joystick, game pad, satellite dish, scanner orthe like. These and other input devices may be connected to theprocessing unit 110 through a serial port interface 106 that is coupledto the system bus, but may also be connected by other interfaces, suchas a parallel port, game port or a universal serial bus (USB). Furtherstill, these devices may be coupled directly to the system bus 130 viaan appropriate interface (not shown). A monitor 107 or other type ofdisplay device is also connected to the system bus 130 via an interface,such as a video adapter 108.

[0022] In addition to the monitor, personal computers typically includeother peripheral output devices (not shown), such as speakers andprinters. A pen digitizer 165 and accompanying pen or stylus 166 may beprovided in order to digitally capture freehand input. Although a directconnection between the pen digitizer 165 and the processing unit 110 isshown, in practice, the pen digitizer 165 may be coupled to theprocessing unit 110 via a serial port, parallel port or other interfaceand the system bus 130 as known in the art. Furthermore, although thedigitizer 165 is shown apart from the monitor 107, one may have theusable input area of the digitizer 165 be co-extensive with the displayarea of the monitor 107. Further still, the digitizer 165 may beintegrated in the monitor 107, or may exist as a separate deviceoverlaying or otherwise appended to the monitor 107.

[0023] The computer 100 can operate in a networked environment usinglogical connections to one or more remote computers, such as a remotecomputer 109. The remote computer 109 can be a server, a router, anetwork PC, a peer device or other common network node, and typicallyincludes many or all of the elements described above relative to thecomputer 100, although only a memory storage device 111 has beenillustrated in FIG. 1. The logical connections depicted in FIG. 1include a local area network (LAN) 112 and a wide area network (WAN)113. Such networking environments are commonplace in offices,enterprise-wide computer networks, intranets and the Internet.

[0024] When used in a LAN networking environment, the computer 100 isconnected to the local network 112 through a network interface oradapter 114. When used in a WAN networking environment, the personalcomputer 100 typically includes a modem 115 or other means forestablishing a communications over the wide area network 113, such asthe Internet. The modem 115, which may be internal or external, isconnected to the system bus 130 via the serial port interface 106. In anetworked environment, program modules depicted relative to the personalcomputer 100, or portions thereof, may be stored in the remote memorystorage device.

[0025] It will be appreciated that the network connections shown areexemplary and other techniques for establishing a communications linkbetween the computers can be used. The existence of any of variouswell-known protocols such as TCP/IP, Ethernet, FTP, HTTP and the like ispresumed, and the system can be operated in a client-serverconfiguration to permit a user to retrieve web pages from a web-basedserver. Any of various conventional web browsers can be used to displayand manipulate data on web pages.

[0026] Although the FIG. 1 environment shows an exemplary environment,it will be understood that other computing environments may also beused. For example, one or more embodiments of the present invention mayuse an environment having fewer than all of the various aspects shown inFIG. 1 and described above, and these aspects may appear in variouscombinations and sub-combinations that will be apparent to one ofordinary skill.

[0027] Tablet PC

[0028]FIG. 2 illustrates an exemplary tablet PC 201 that can be used inaccordance with various aspects of the present invention. Any or all ofthe features, subsystems, and functions in the system of FIG. 1 can beincluded in the computer of FIG. 2. Tablet PC 201 includes a largedisplay surface 202, for example, a digitizing flat panel display suchas a liquid crystal display (LCD) screen, on which a plurality ofwindows 203 may be displayed. Using stylus 204, a user can select,highlight, and/or write on the digitizing display surface 202. Examplesof suitable digitizing display surfaces 202 include electromagnetic pendigitizers, such as Mutoh or Wacom pen digitizers. Other types of pendigitizers, such as optical digitizers, may also be used. Tablet PC 201interprets gestures made using stylus 204 in order to manipulate data,enter text, create drawings, and/or execute conventional computerapplication tasks such as spreadsheets, word processing programs, andthe like.

[0029] The stylus 204 may be equipped with one or more buttons or otherfeatures to augment its selection capabilities. Thus, the stylus 204could be implemented as a “pencil” or “pen”, in which one endconstitutes a writing portion and the other end constitutes an “eraser”end, and which, when moved across the display, indicates portions of thedisplay that are to be erased. Other types of input devices, such as amouse, trackball, or the like could additionally or alternately be usedto enter, modify or delete data. Further, a user's own finger could beemployed as the stylus 204 and used for selecting or indicating portionsof the displayed image on a touch-sensitive or proximity-sensitivedisplay. Consequently, the term “user input device”, as used herein, isintended to have a broad definition and encompasses many variations onwell-known input devices such as stylus 204. Region 205 shows a feedbackregion or contact region permitting the user to determine where thestylus 204 has contacted the display surface 202.

[0030] FIGS. 3A-3G depict various display screens and the associatedprocess that may appear in one embodiment when a user wishes to insertspace into an electronic page of a document. The various display screensassume that the original page size is equal to the display screen size;although the original page size may be any size. It is appreciated thatif the original document was smaller than the display or the same sizeof the display, the scroll bars may be removed.

[0031] Insertion of White Space and Growing a Page

[0032]FIG. 3A shows a display screen having a page of text, in the formof electronic ink. A user may, for example, wish to insert additionaltext into the middle of the content that is already present on the page.For example, the text of FIG. 3 may have columns or be in a table and auser wishes to add additional space for the columns or table. In orderto provide a blank area in the page into which to insert this additionaltext, the user will first insert empty or “white” space into the contentwhere the additional text will be added. The user may initiate thisprocess by activating an “insert space” command. As will be appreciatedby those of ordinary skill in the art, this command may take a varietyof forms. It may be presented, for example, on a task bar, apurpose-specific user interface menu, or included in a pull down menu.Further, a user may activate the insert space command by depressing oneor more buttons on a toolbar, keyboard, stylus, mouse or other inputdevice. In some embodiments, the button operation may be followed by asubsequent stylus or mouse operation that inserts blank space or deletesblank space depending on the direction of the operation.

[0033] As shown in FIG. 3B, after the user has activated the insertspace command, the user begins the process of inserting the white spaceinto the page. As seen in this figure, the user employs an input deviceto indicate an origination line 302 for inserting the white space.Alternative approaches to entering space include inserting a defaultamount of space based on a click or tap, using a diagonal line todesignate start and stop positions, and drawing a complex line todesignate which content should be shifted. The user may, for example,touch or tap the display screen with the input device to create theorigination line 302. Next, the user drags the user input device todefine the desired amount of white space to be inserted into the page.For example, as shown in FIG. 3B, the user drags the input device in adownward direction for a distance equal to the amount of white space theuser desires to be inserted into the page.

[0034] Alternatively, the application may use the page structure todecide how the page should grow. For example, in a multiple columnlayout, inserting space in one column may only insert space in thecolumn and not the other column.

[0035] When the user has defined the amount of white space to beinserted into the page, the user stops dragging the input device.Stopping the dragging of the input device creates an insertion line 304.With some embodiments of the invention, a downwardly pointing arrow 306may be displayed in order to confirm for the user that space is beinginserted. While FIG. 3B illustrates an example where white space isinserted by dragging an input device in a downward direction, with someembodiments of the invention a user may alternately or additionally addwhite space by dragging the input device in an upward direction. Withthese embodiments, an upwardly pointing arrow may be displayed toindicate the insertion of white space. The adding of the additionalspace may occur during the operation of the input device or may occur atthe end of the operation of the input device. For example, the additionof the space may occur at the pen up event of a stylus or a button upevent for a mouse (using a click and drag technique).

[0036]FIG. 3C shows the result of inserting the desired white spaceaccording to the invention. Conventionally, adding the white space wouldhave caused the content appearing after the insertion line to be movedonto the subsequent page or clipped. With the invention, however, thesize of the page containing the content is automatically grown so thatthe page includes both the added white space and all of the originalcontent appearing on the page. In one example, enough space may be addedso that the lowest content on the page moves to the bottom of the page.In other words, the height of the page may be increased by the distanceindicated by a user subtracting out the available white space betweenthe last item on the page and the bottom of the page. Alternatively, onemay increase the height of the page by the distance indicated by a user.Further, with some embodiments of the invention, only the page havingthe inserted white space is grown, leaving the sizes of any other pagesin the document unchanged. Of course, with alternate embodiments of theinvention, the size of some or all of the other pages of the documentmay be grown to match that of the page with the inserted white space.

[0037] As shown in FIGS. 3C and 3D, inserting the white space causes thelength of the page to be grown too long to be displayed on a singledisplay screen. Thus, a vertical scrolling indicator 310 and a verticalscrolling element 312 may be displayed with the grown page.

[0038] The position of vertical scrolling element 312 in FIG. 3Cindicates that the top portion of the page is visible. The position ofvertical scrolling element 312 in FIG. 3D indicates that the bottomportion of the page is visible. As will be appreciated by those ofordinary skill in the art, the user may change the position of thevertical scrolling element 312 along the indicator 310 in order to viewdifferent portions of the grown page.

[0039]FIG. 3E contains the same text as shown in FIG. 3A, but thisfigure illustrates how some embodiments of the invention may allow auser to horizontally (as opposed to vertically) insert white space intothe page. In particular, FIG. 3E shows a vertical origination line 320and a vertical insertion line 322. Origination line 320 may beestablished my touching or tapping the screen with a user input device,as was described with reference to FIG. 3B above. Insertion line 322 maysimilarly be established by, for example, horizontally dragging theinput device in a rightward direction and stopping the input devicewhere the insertion line 322 is to be established.

[0040] Again, various embodiments of the invention may display arightward pointing arrow 324 to confirm that white space is beinghorizontally inserted. Also, while FIG. 3E illustrates an example wherewhite space is inserted horizontally by dragging an input device in arightward direction, with some embodiments of the invention a user mayalternately or additionally horizontally add white space by dragging theinput device in a leftward direction. With these embodiments, a leftwardpointing arrow may be displayed to indicate the horizontal insertion ofwhite space. It is appreciated that the direction of inserting space maybe independent of the direction of text flow for a language or may beindependent of the direction of text flow of the language.

[0041]FIG. 3F shows the result of the insertion operation. As seen inthis figure, the content that appeared to the right of the originationline 320 is horizontally moved to the right past the insertion line 324.Moreover, the width of the page is automatically grown so that, evenwith the addition of the white space, all of the text appearing on theoriginal page remains on that page. With some embodiments of theinvention, only the page having the inserted white space is grown,leaving the sizes of any other pages in the document unchanged. Ofcourse, with alternate embodiments of the invention, the size of some orall of the other pages of the document may be grown to match that of thepage with the inserted white space.

[0042] As seen in FIGS. 3F and 3G, with the horizontally inserted whitespace the entire page cannot be displayed at one time. Accordingly,various embodiments of the invention may display a horizontal scrollingindicator 330 with a horizontal scrolling element 332. In FIG. 3F, thehorizontal scrolling element 332 being in the leftmost position alongthe horizontal scrolling element 330 indicates that the leftmost portionof the page is visible. The horizontal scrolling element 332 may bedragged along the horizontal scrolling indicator 330 by the user inputdevice to cause a different portion of the page to be displayed. In FIG.3G, the horizontal scrolling element 332 being in the rightmost positionalong the horizontal scrolling indicator 330 indicates that therightmost portion of the page is visible on the display. It isappreciated that the scroll bars may be eliminated through varioustechniques known in the art including changing the zoom level.

[0043] In another embodiment, space is added only as needed to keep allcontent on the page. If the original page was completely full ofcontent, the page may be grown by an amount corresponding to the amountof the white space indicated in the received input. However, if theoriginal page had open white space at the bottom of the page which wasequal or greater than the amount of the white space to be inserted, thenthe page would not grow as space was readily available. Further, if theoriginal page had blank space at the bottom which was some fraction ofthe size of the white space being inserted, then the page may be grownto the difference between the space inserted and the blank space at thebottom of the page. This approach may also be applied to other sectionsof the page as, for example, in the case of languages with differentdirectional flow or flows.

[0044] Shrinking A Page

[0045] In addition to allowing a user to insert white space into a page,various embodiments of the invention may allow a user to delete spacefrom a page in a similar manner. With some embodiments of the invention,for example, deleting space from a page may shrink the page by an amountcorresponding to the deleted portion. With alternate embodiments of theinvention, the deletion of space or content from a page may cause thepage size to shrink, although the page size may never become smallerthan the original page size.

[0046] FIGS. 4A-4D help illustrate an example of how the inventionshrinks the size of a page when empty space is deleted from the page.For example, a column of space may have been deleted or a portion of atable deleted. Turning first to FIG. 4A, this figure shows the same pageof text as in FIGS. 3C and 3D. (As described above, this particular pagewas previously grown in length when empty space was added to the page.)Vertical scrolling element 402 is at the bottom of vertical scrollingindicator 404, indicating that the bottom portion of the page isvisible.

[0047] To delete space from the page, the user may initiate the deletionprocess by activating a “delete space” command. As with the “insertspace” command, those of ordinary skill in the art will appreciate thatthis command may take a variety of forms. It may be presented, forexample, on a task bar, a purpose-specific user interface menu, orincluded in a pull down menu. Further, a user may activate the insertspace command by depressing a specified combination of buttons on akeyboard, stylus, mouse or other input device.

[0048] After the delete space command has been activated, the user maybegin the deletion process by creating an origination line 406 markingthe first border of the space to be deleted. With some embodiments ofthe invention, the user may, for example, create the origination line406 by touching or tapping the screen with the user input device. Next,the user creates a deletion line 408 marking the opposite border of thespace to be deleted from the page. The user may, for example, create thedeletion line 408 simply by dragging the user input device from theorigination line 406 to a position where the user desires to establishthe deletion line 408.

[0049] With some embodiments of the invention, an upwardly pointingarrow 410 or other cursor may be displayed, to confirm for the user thata delete space operation is to be performed. Of course, while theillustrated embodiment shows an example where space is deleted bydragging an input device in an upward direction, with some embodimentsof the invention a user may alternately or additionally delete spacefrom the page by dragging the input device in a downward direction. Withthese embodiments, a downwardly pointing arrow or other cursor may bedisplayed to indicate the deletion of space. Thus, the user mayestablish line 408 as the origination line and line 406 as the deletionline by dragging the user input device downward from line 408 to wherethe user desires to establish deletion line 406. Further, theapplication may delete the white space surrounding an indicated deletionpoint.

[0050]FIG. 4B shows the result of the space deletion operation. Thespace between the origination line 406 and the deletion line 408 isdeleted, and the text appearing below the origination line 406 is movedupward to close the space. Because the previously existing page size isno longer needed to contain the entire contents of the page, the lengthof the page is decreased. With some embodiments of the invention, thelength of the page will be decreased by an amount corresponding to thedeleted space, so that the contents of the subsequent pages remain inthose same pages. With alternate embodiments of the invention, however,the page size may not be decreased to a size smaller than an originalpage size. Further, some embodiments of the invention may leave the sizeof other pages in the document unchanged, while still other embodimentsof the invention may shrink the size of other pages in the document tomatch that of the page from which space was deleted.

[0051]FIG. 4C shows a space deletion operation about to be performed onthe text previously illustrated in FIGS. 3F and 3G. (As described above,white space had previously been added to the page causing the width ofthe page to grow.) Because the entire page cannot be displayed at onetime, a horizontal scrolling indicator 412 and a horizontal scrollingelement 410 are displayed to indicate to the user that only a portion ofthe entire page is visible. In particular, the horizontal scrollingelement 410 being in the rightmost position along the horizontalscrolling indicator 412 indicates that only the rightmost portion of thepage is visible.

[0052] As with the previously described embodiment, after activating thedelete space command, the user may establish an origination line 414 bytouching or tapping the screen with a user input device at the desiredpoint. The user may then establish the deletion line 416 by, forexample, dragging the user input device in a leftward direction andstopping the input device at the point where the deletion line 416 isdesired. With some embodiments of the invention, the user mayalternately or additionally establish line 416 as the origination lineand line 414 as the deletion line by dragging the input device from line416 rightward and stopping where the user desires to establish thedeletion line 414. Again, various embodiments of the invention maydisplay an appropriately directed arrow 418 or other cursor to confirmthe deletion operation.

[0053]FIG. 4D shows the result of the space deletion operation. Thecontents of the page to the right of line 414 are moved toward the leftto close up the space. Moreover, because the extended page width is nolonger needed to keep the entire contents of the page on the same page,the page width may be decreased. In some embodiments of the invention,the page width may be decreased by an amount corresponding to the amountof space deleted from the page. With alternate embodiments of theinvention, however, the page width is decreased only up to a distancewhere the page width is equal to the original page width.

[0054] In a further embodiment, a page of content may be grown by addingblank space at the bottom of a page and growing the page.

[0055] It should be noted that, while the space deletion operation wasdescribed above with regard pages that had been previously expanded tocontain additional space, the invention is not so limited. As will beappreciated by those of ordinary skill in the art, some embodiments ofthe invention may allow a user to shrink the length, width, or both of apage that has not previously been expanded when space is deleted fromthat page.

[0056] Method for Growing a Page

[0057]FIG. 5 illustrates the process, in one embodiment of theinvention, for inserting space into an electronic page. Starting at stepP500, the user first indicates that space is to be inserted byestablishing an origination line and an insertion line. This may be donein the manner described earlier with reference to FIGS. 3A-3G.

[0058] Next, at step P502, a check is performed to determine whetherthere are any items on the page after the origination line. If there areitems on the page that would be moved, then at P504, a check isperformed to determine whether this content can be moved to provide thedesired white space without causing some of that content to be moved toanother page or clipped. If that content can be moved without movingsome of the content to another page, then at P506, the content is movedand the space is created.

[0059] If the check performed at step P502 determines that there are noitems that need to be moved, then, at P508, the page is grown by anamount corresponding to the amount of the space added. For example, ifspace of width d is being added horizontally, then the page width issimilarly grown by width d. If space of length d is being addedvertically, then the page length is similarly grown by length d.

[0060] If the check at P504 determines that the items cannot be movedwithout at least some of the items being moved to another page (orclipped), then at P510, the page is grown as much as necessary so thatthe items may remain on the same page, while leaving unchanged the pagesize of other pages. If space is being added horizontally, then the pagewidth is grown. If space is being added vertically, then the page lengthis grown.

[0061] Alternative embodiments include various approaches to determiningwhich items to move. For example, if given percentage (e.g. 50%) of anitem (for instance, a word or paragraph or character) is below theorigination line, then that item may be moved. Other approaches includeusing a fixed amount of the item is below the origination line todetermine if it should be moved. A further approach includes using thestructure of the page or document to group items using theirrelationship to other items. So, for example, a complex path used forthe origination line drawn in a paragraph may result in all contentbelow and/or to the right of the line be moved. So, a line drawn througha sentence may move all items after the line.

[0062] With some embodiments of the invention, at step P510, beforegrowing the page, a determination can be made as to whether any emptyspace exists within the area to be moved. If such empty space doesexist, the empty space is removed to the extent necessary to prevent orreduce the need for growing the page to contain all of the existingcontent. Alternatively, the empty space may remain untouched.

[0063] Method for Shrinking a Page

[0064]FIG. 6 is a flowchart explaining the process for performing aspace deletion operation according to various embodiments of theinvention. Starting at P600, the user indicates that space is to bedeleted. This may be done in the manner described previously withreference to FIGS. 4A-4D.

[0065] Next, at P602, any content on the opposite side of theorigination line from the deletion line is moved toward the deletionline in order to close up space. At P604, a check is performed todetermine whether the page was expanded previously. If the page waspreviously expanded, then the page size is decreased. The page size maybe decreased by an amount equal to the amount of space between theorigination and deletion lines, however, in some implementations; thepage size may not be decreased to a size smaller than the original pagesize. If, at P604, it is determined that the page size is not expanded,then the page size will not be decreased. Here, the user may only closeup empty space.

[0066]FIG. 7 illustrates a functional block diagram of an implementationof an embodiment of the invention. As described above, the user mayemploy the input device 702 to indicate a position at which space is tobe inserted into a page of electronic paper, and the amount of space tobe inserted. A user may also employ input device 702 to indicate aposition at which a portion of a page of the electronic document is tobe deleted, together with the amount of the electronic page to bedeleted.

[0067] The input receiver 704 receives the above input from input device702, and provides the received input to the space adder 706 where spaceis to be added to a page. Space adder 706, in response to the inputreceived by input receiver 704, moves at least some of the content ofthe electronic page to insert white space, when the received inputindicates that white space is to be inserted. The distance that thecontent is moved is based on the amount of white space to be added, asindicated in the input.

[0068] Page grower 708 determines whether, as a result of contentmovement by space adder 706, content is larger than the existing page.If the moved content may have moved off the bottom of the page, theexisting page, then page grower 708 grows the page, either in width orlength, such that the original content of the page remains on the page.The grown page is then rendered on the display 714.

[0069] If the input received by the input receiver 704 is to deletespace from a page, the input receiver 704 provides the received input tothe space deleter 710. The space deleter 710, responsive the inputreceived by input receiver 704, moves at least some of the content ofthe electronic page to delete a portion of the page. The distance thatthe content is moved is based on the amount of page to be deleted, asindicated by the received input.

[0070] The page shrinker 712 determines whether, as a result of contentmovement by space deleter 710, a page may be reduced either in length orwidth. If the page may be reduced in size, page shrinker 712 reduces thepage. In some embodiments, of the invention the page will not be reducedto a size smaller than the original page size. The reduced page is thenrendered on the display 714.

[0071] Alternative embodiments of the invention may include a cursor orthe like to indicate the origination boundary, insertion boundary, ordeletion boundary, instead of using dashed lines as illustrated in theaccompanying figures. Also, some embodiments of the invention may growthe page only when needed to maintain content on a same page. Otherembodiments may alternately grow the page whenever space is insertedinto the document.

[0072] Embodiments of the invention may be implemented in hardware,software, firmware or by an application specific integrated circuit(ASIC). The firmware may be in a read only memory and the software mayreside on a medium, such as read only memory, random access memory,floppy disk or compact disk.

[0073] Although the above embodiments were described using examples thatinclude electronic ink in electronic documents, the invention is not solimited. For example, the content of an electronic page may include text(including alphabetic, numeric, and punctuation), graphic symbols,images and the like.

[0074] Aspects of the present invention have been described in terms ofvarious embodiments thereof. Numerous other embodiments, modificationsand variations within the scope and spirit of the appended claims willoccur to persons of ordinary skill in the art from a review of thisdisclosure.

What is claimed is:
 1. A method of growing a page of an electronicdocument displayed on a display by an amount of white space, comprising:A) receiving input indicating a first designation on a page of anelectronic document containing content; B) responsive to the input fromthe step A, moving at least some of the content of the page of theelectronic document to insert the white space, the movement startingfrom the first indication, said at least some of the content being moveda distance corresponding to the amount of white space; and C) growing asize of the page by an amount corresponding to the amount of whitespace.
 2. The method of claim 1, wherein the step C is performed onlywhen, as a result of performing the step B, a portion of the contentwould have been moved beyond the page, the size of the page being grownsuch that the portion of the content remains on the page.
 3. The methodof claim 2, wherein when the step C grows the size of the page, the sizeof the page is grown no more than an amount that is needed to keep theportion of the content on the page.
 4. The method of claim 2, whereinthe step B further comprises: B1) determining whether, as a result ofperforming the step B, a portion of the content would move beyond thepage; B2) when the step B1 determines that a portion of the content ofthe page would move beyond the page, determining whether any white spaceexists within said at least some of the content to be moved; and B3)when, as a result of performing step B2, white space is determined toexist, removing at least some of the white space from said at least someof the content to be moved when removal of said at least some of thewhite space allows said at least some of the content to remain on thepage without performing the step C.
 5. The method of claim 1, whereinthe step C includes growing a width of the page.
 6. The method of claim1, wherein the first designation is a first position.
 7. The method ofclaim 1, wherein the first designation is a line or lines separatingcontent.
 8. The method of claim 1, wherein said input includes theamount of white space to be inserted.
 9. The method of claim 1, whereinthe amount of white space to be inserted is predefined.
 10. The methodof claim 1, wherein said first designation is a complex path.
 11. Themethod of claim 1, wherein the moved content is determined based atleast in part on a structural component on the page.
 12. The method ofclaim 1, wherein the moved content includes modifying a structuralcomponent on the page.
 13. A computer-readable medium havinginstructions stored thereon relating to the insertion of an amount ofwhite space in an electronic document, such that when the instructionsare loaded and executed by a processor, the processor is caused toperform: A) receiving input indicating a first designation on a page ofan electronic document containing content; B) responsive to the inputfrom the step A, moving at least some of the content of the page of theelectronic document to insert white space, the movement starting fromthe first designation, said at least some of the content being moved adistance corresponding to the amount of white space; and C) growing asize of the page by an amount corresponding to the amount of whitespace.
 14. The computer-readable medium of claim 13, wherein the step Cis performed only when, as a result of performing the step B, a portionof the content would have been moved beyond the page, the size of thepage being grown such that the portion of the content remains on thepage.
 15. The computer-readable medium of claim 14, wherein when thestep C grows the size of the page, the size of the page is grown no morethan an amount that is needed to keep the portion of the content on thepage.
 16. The computer-readable medium of claim 13, wherein the step Bfurther comprises: B1) determining whether, as a result of performingthe step B, a portion of the content would move beyond the page; B2)when the step B1 determines that a portion of the content of the pagewould beyond the page, determining whether any white space exists withinsaid at least some of the content to be moved; and B3) when, as a resultof performing step B2, white space is determined to exist, removing atleast some of the white space from said at least some of the content tobe moved when removal of said at least some of the white space allowssaid at least some of the content to remain on the page withoutperforming the step C.
 17. The computer-readable medium of claim 13,wherein the step C includes growing a width of the page.
 18. Thecomputer-readable medium of claim 13, wherein the first designation is afirst position.
 19. The computer-readable medium of claim 13, whereinthe first designation is a line or lines separating content.
 20. Thecomputer-readable medium of claim 13, wherein said input includes theamount of white space to be inserted.
 21. The computer-readable mediumof claim 13, wherein the amount of white space to be inserted ispredefined.
 22. The computer-readable medium of claim 13, wherein themoved content is determined based at least in part on a structuralcomponent on the page.
 23. The computer-readable medium of claim 13,wherein the moved content includes modifying a structural component onthe page.
 24. The computer-readable medium of claim 13, wherein saidfirst designation is a complex path.
 25. A computer system comprising: aprocessor; a display to display at least a portion of an electronicdocument in which an amount of white space will be inserted; an inputdevice to input at least a first designation on a page of an electronicdocument, wherein the processor is arranged to: A) receive inputindicating a first designation on a page of an electronic documentcontaining content; B) responsive to the input from the step A, move atleast some of the content of the page of the electronic document toinsert the white space, the movement starting from the firstdesignation, said at least some of the content being moved a distancecorresponding to the amount of white space; and C) grow a size of thepage by an amount corresponding to the amount of white space.
 26. Thecomputer system of claim 25, wherein the step C is performed only when,as a result of performing the step B, a portion of the content wouldhave been moved beyond the page, the size of the page being grown suchthat the portion of the content remains on the page.
 27. The computersystem of claim 26, wherein when the step C grows the size of the page,the size of the page is grown no more than an amount that is needed tokeep the portion of the content on the page.
 28. The computer system ofclaim 26, wherein the step B further comprises: B1) determining whether,as a result of performing the step B, a portion of the content wouldmove beyond the page; B2) when the step B1 determines that a portion ofthe content of the page would beyond the page, determining whether anywhite space exists within said at least some of the content to be moved;and B3) when, as a result of performing step B2, white space isdetermined to exist, removing at least some of the white space from saidat least some of the content to be moved when removal of said at leastsome of the white space allows said at least some of the content toremain on the page without performing the step C.
 29. The computersystem of claim 25, wherein the step C includes growing a width of thepage.
 30. The computer system of claim 25, wherein the first designationis a first position.
 31. The computer system of claim 25, wherein thefirst designation is a line or lines separating content.
 32. Thecomputer system of claim 25, wherein said input includes the amount ofwhite space to be inserted.
 33. The computer system of claim 25, whereinthe amount of white space to be inserted is predefined.
 34. The computersystem of claim 25, wherein the moved content is determined based atleast in part on a structural component on the page.
 35. The computersystem of claim 25, wherein the moved content includes modifying astructural component on the page.
 36. The computer system of claim 25,wherein said first designation is a complex path.
 37. A method ofreducing a size of a page in an electronic document on a display byremoving an amount of white space, comprising: A) receiving inputindicating a first designation on a page of an electronic document; B)responsive to the input of the step A, moving at least some of contentof the page by an amount corresponding to the amount to be removed fromthe page, said at least some of the content being moved such that anindicated portion of the page is removed and overwritten by at least aportion of said at least some of the content of the page; and C)shrinking the size of the page by an amount based on the amount toremove from the page.
 38. The method of claim 37, wherein the size ofthe page is reduced such that the size of the page is at least as largeas the original size of the page.
 39. The method of claim 37, whereinthe step C includes shrinking a width of the page.
 40. The methodaccording to claim 37, wherein the first designation is a firstposition.
 41. The method according to claim 37, wherein the firstdesignation is a line or lines separating content.
 42. The methodaccording to claim 37, wherein said input includes the amount of whitespace to be removed.
 43. The method according to claim 37, wherein theamount of white space to be removed is predefined.
 44. The methodaccording to claim 37, wherein the amount of white space to be removedis all white space near said first designation.
 45. The method accordingto claim 37, wherein the moved content is determined based at least inpart on a structural component on the page.
 46. The method according toclaim 37, wherein the moved content includes modifying a structuralcomponent on the page.
 47. A computer-readable medium havinginstructions stored thereon, said instructions relating to removing anamount of white space from a page, such that when the instructions areloaded and executed by a processor, the processor is caused to perform:A) receiving input indicating a first designation on a page of anelectronic document; B) responsive to the input of the step A, moving atleast some of content of the page by an amount corresponding to theamount to be removed from the page, said at least some of the contentbeing moved such that an indicated portion of the page is removed andoverwritten by at least a portion of said at least some of the contentof the page; and C) shrinking the size of the page by an amount based onthe indicated amount to remove from the page.
 48. The computer-readablemedium of claim 47, wherein the size of the page is reduced such thatthe size of the page is at least as large as the original size of thepage.
 49. The computer-readable medium of claim 47, wherein the step Cincludes shrinking a width of the page.
 50. The computer-readable mediumof claim 47, wherein the first designation is a first position.
 51. Thecomputer-readable medium of claim 47, wherein the first designation is aline or lines separating content.
 52. The computer-readable medium ofclaim 47, wherein said input includes the amount of white space to beremoved.
 53. The computer-readable medium of claim 47, wherein theamount of white space to be removed is predefined.
 54. Thecomputer-readable medium of claim 47, wherein the amount of white spaceto be removed is all white space near said first designation.
 55. Thecomputer-readable medium of claim 47, wherein the moved content isdetermined based at least in part on a structural component on the page.56. The computer-readable medium of claim 47, wherein the moved contentincludes modifying a structural component on the page.
 57. A computersystem comprising: a processor; a display to display at least a portionof an electronic document from which an amount will be removed; an inputdevice to input at least a first designation of a page of an electronicdocument, wherein the processor is arranged to: A) receive inputindicating a first designation on a page of an electronic document; B)responsive to the input of the step A, move at least some of content ofthe page by an amount corresponding to the amount to be removed from thepage, said at least some of the content being moved such that anindicated portion of the page is removed and overwritten by at least aportion of said at least some of the content of the page; and C) shrinkthe size of the page by an amount based on the indicated amount toremove from the page.
 58. The computer system of claim 57, wherein thesize of the page is reduced such that the size of the page is at leastas large as the original size of the page.
 59. The computer system ofclaim 57, wherein the step C includes shrinking a width of the page. 60.The computer system of claim 57, wherein the first designation is afirst position.
 61. The computer system of claim 57, wherein the firstdesignation is a line or lines separating content.
 62. The computersystem of claim 57, wherein said input includes the amount of whitespace to be removed.
 63. The computer system of claim 57, wherein theamount of white space to be removed is all white space near said firstdesignation.
 64. The computer system of claim 57, wherein the movedcontent is determined based at least in part on a structural componenton the page.
 65. The computer system of claim 57, wherein the movedcontent includes modifying a structural component on the page.